=begin
可以通过内核方法伪造一个新的关键字
=end
module Kernel
  def with(resource)
    begin
      yield
    ensure
      resource.dispose
    end
  end
end